package com.itheima.po;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

@TableName("tb_user") // 指定表名
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User {
    /** 对于主键进行注解来标识当前属性对应的是id字段 并且主键id有四种定义的方法
     第一种就是AUTO  这个表示数据库id自增
     第二种就是INPUT         这个表示用户自己输入
     第三种就是ASSIGN_ID     这个表示雪花算法
     第四种就是ASSIGN_UUID   这个表示UUID生成
     */
  /*  @TableId(type = IdType.AUTO)*/
    @TableId(type = IdType.INPUT)
/*    @TableId(type = IdType.ASSIGN_ID)
    @TableId(type = IdType.ASSIGN_UUID)*/
    private Long id;
    @TableField/** 其他字段可以写也可以不写  */
    private String userName;
    private String password;
    private String name;
    private Integer age;
    private String email;

    /**
     * 自动填充四种填充字段
     *    DEFAULT,默认不填充，默认不处理
     *     INSERT,插入时填充字段
     *     UPDATE,更新时填充字段
     *     INSERT_UPDATE;插入和更新时填充字段
     */
    @TableField(fill = FieldFill.DEFAULT)
    private LocalDate createDate;
}
